[INFO] cloning repository https://github.com/rustyrazorblade/tomahawkdb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rustyrazorblade/tomahawkdb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frustyrazorblade%2Ftomahawkdb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frustyrazorblade%2Ftomahawkdb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f48f61a3910aa186bf5771fee4d4fcdd3eab358e
[INFO] checking rustyrazorblade/tomahawkdb against master#03c609abb6638f9d7f49f34326d4137d07f5cd61 for pr-155945
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frustyrazorblade%2Ftomahawkdb" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rustyrazorblade/tomahawkdb
[INFO] finished tweaking git repo https://github.com/rustyrazorblade/tomahawkdb
[INFO] tweaked toml for git repo https://github.com/rustyrazorblade/tomahawkdb written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rustyrazorblade/tomahawkdb on toolchain 03c609abb6638f9d7f49f34326d4137d07f5cd61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rustyrazorblade/tomahawkdb already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-service v0.1.0
[INFO] [stderr]   Downloaded libc v0.2.22
[INFO] [stderr]   Downloaded lazycell v0.4.0
[INFO] [stderr]   Downloaded slab v0.3.0
[INFO] [stderr]   Downloaded tokio v0.0.0
[INFO] [stderr]   Downloaded vec_map v0.7.0
[INFO] [stderr]   Downloaded serde v1.0.4
[INFO] [stderr]   Downloaded iovec v0.1.0
[INFO] [stderr]   Downloaded smallvec v0.2.1
[INFO] [stderr]   Downloaded uuid v0.5.0
[INFO] [stderr]   Downloaded scoped-tls v0.1.0
[INFO] [stderr]   Downloaded env_logger v0.4.2
[INFO] [stderr]   Downloaded take v0.1.0
[INFO] [stderr]   Downloaded tokio-io v0.1.1
[INFO] [stderr]   Downloaded net2 v0.2.29
[INFO] [stderr]   Downloaded serde_derive_internals v0.15.0
[INFO] [stderr]   Downloaded serde_derive v1.0.4
[INFO] [stderr]   Downloaded tokio-proto v0.1.1
[INFO] [stderr]   Downloaded bytes v0.4.3
[INFO] [stderr]   Downloaded unicode-segmentation v1.1.0
[INFO] [stderr]   Downloaded tokio-core v0.1.7
[INFO] [stderr]   Downloaded mio v0.6.7
[INFO] [stderr]   Downloaded futures v0.1.13
[INFO] [stderr]   Downloaded clap v2.24.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] de9b5e36167700c85b8873d984b3c89f97718b520dc061f0235e0b16f12fad2f
[INFO] running `Command { std: "docker" "start" "-a" "de9b5e36167700c85b8873d984b3c89f97718b520dc061f0235e0b16f12fad2f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "de9b5e36167700c85b8873d984b3c89f97718b520dc061f0235e0b16f12fad2f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de9b5e36167700c85b8873d984b3c89f97718b520dc061f0235e0b16f12fad2f", kill_on_drop: false }`
[INFO] [stdout] de9b5e36167700c85b8873d984b3c89f97718b520dc061f0235e0b16f12fad2f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c528f2af633be47b2bbf789dd2d7799c41d30bb04802d71d11b985ccdc96b8f5
[INFO] running `Command { std: "docker" "start" "-a" "c528f2af633be47b2bbf789dd2d7799c41d30bb04802d71d11b985ccdc96b8f5", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Checking libc v0.2.22
[INFO] [stderr]     Checking byteorder v1.0.0
[INFO] [stderr]     Checking log v0.3.7
[INFO] [stderr]     Checking cfg-if v0.1.0
[INFO] [stderr]     Checking futures v0.1.13
[INFO] [stderr]     Checking lazycell v0.4.0
[INFO] [stderr]     Checking slab v0.3.0
[INFO] [stderr]     Checking regex-syntax v0.4.0
[INFO] [stderr]     Checking scoped-tls v0.1.0
[INFO] [stderr]     Checking serde v1.0.4
[INFO] [stderr]     Checking unicode-segmentation v1.1.0
[INFO] [stderr]     Checking smallvec v0.2.1
[INFO] [stderr]     Checking unreachable v0.1.1
[INFO] [stderr]     Checking vec_map v0.7.0
[INFO] [stderr]     Checking bitflags v0.8.2
[INFO] [stderr]    Compiling serde_derive_internals v0.15.0
[INFO] [stderr]     Checking take v0.1.0
[INFO] [stderr]     Checking strsim v0.6.0
[INFO] [stderr]     Checking ansi_term v0.9.0
[INFO] [stderr]     Checking num-traits v0.1.37
[INFO] [stderr]     Checking unicode-width v0.1.4
[INFO] [stderr]     Checking tokio v0.0.0
[INFO] [stderr]     Checking iovec v0.1.0
[INFO] [stderr]     Checking net2 v0.2.29
[INFO] [stderr]     Checking memchr v1.0.1
[INFO] [stderr]     Checking thread-id v3.0.0
[INFO] [stderr]     Checking rand v0.3.15
[INFO] [stderr]     Checking term_size v0.3.0
[INFO] [stderr]     Checking atty v0.2.2
[INFO] [stderr]     Checking thread_local v0.3.3
[INFO] [stderr]     Checking clap v2.24.1
[INFO] [stderr]     Checking aho-corasick v0.6.3
[INFO] [stderr]     Checking bytes v0.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.4
[INFO] [stderr]     Checking mio v0.6.7
[INFO] [stderr]     Checking tokio-io v0.1.1
[INFO] [stderr]     Checking tokio-service v0.1.0
[INFO] [stderr]     Checking tokio-core v0.1.7
[INFO] [stderr]     Checking regex v0.2.1
[INFO] [stderr]     Checking tokio-proto v0.1.1
[INFO] [stderr]     Checking env_logger v0.4.2
[INFO] [stderr]     Checking bincode v0.8.0
[INFO] [stderr]     Checking uuid v0.5.0
[INFO] [stderr]     Checking tomahawk v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeState` and `StreamingState`
[INFO] [stdout]  --> src/db/tomahawk_server.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::node::{NodeState, StreamingState, Node};
[INFO] [stdout]   |                   ^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/db/gossip/gossip.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Mutex, Arc};
[INFO] [stdout]   |                 ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/db/gossip/gossip.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]  --> src/db/gossip/gossip.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/db/gossip/gossip.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `future`
[INFO] [stdout]   --> src/db/gossip/gossip.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures::{future, Future, BoxFuture, finished};
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WriteBytesExt`
[INFO] [stdout]   --> src/db/gossip/gossip.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 | use byteorder::{BigEndian, WriteBytesExt, ReadBytesExt};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Infinite`, `deserialize`, and `serialize`
[INFO] [stdout]  --> src/db/gossip/state.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bincode::{serialize, deserialize, Infinite};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeState`
[INFO] [stdout]  --> src/db/gossip/mod.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use self::state::{ClusterState, NodeState};
[INFO] [stdout]   |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/db/messaging/codec.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Mutex, Arc};
[INFO] [stdout]   |                 ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/db/messaging/codec.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/db/messaging/codec.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]  --> src/db/messaging/codec.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/db/messaging/codec.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]   --> src/db/messaging/codec.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> src/db/messaging/codec.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/db/messaging/codec.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoxFuture`, `finished`, and `future`
[INFO] [stdout]   --> src/db/messaging/codec.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures::{future, Future, BoxFuture, finished};
[INFO] [stdout]    |               ^^^^^^          ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientProto` and `ServerProto`
[INFO] [stdout]   --> src/db/messaging/codec.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio_proto::pipeline::{ServerProto, ClientProto};
[INFO] [stdout]    |                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Framed`
[INFO] [stdout]   --> src/db/messaging/codec.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio_io::codec::{Decoder, Encoder, Framed};
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpClient` and `TcpServer`
[INFO] [stdout]   --> src/db/messaging/codec.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio_proto::{TcpServer, TcpClient};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> src/db/messaging/codec.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 | use tokio_io::{AsyncRead, AsyncWrite};
[INFO] [stdout]    |                ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_service::Service`
[INFO] [stdout]   --> src/db/messaging/codec.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio_service::Service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WriteBytesExt`
[INFO] [stdout]   --> src/db/messaging/codec.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 | use byteorder::{BigEndian, WriteBytesExt, ReadBytesExt};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/db/messaging/proto.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Mutex, Arc};
[INFO] [stdout]   |                 ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/db/messaging/proto.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/db/messaging/proto.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]  --> src/db/messaging/proto.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/db/messaging/proto.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]  --> src/db/messaging/proto.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::Cursor; // used with byteorder
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufMut` and `BytesMut`
[INFO] [stdout]  --> src/db/messaging/proto.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use bytes::{BytesMut, BufMut}; // needed for tokio
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]   --> src/db/messaging/proto.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> src/db/messaging/proto.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/db/messaging/proto.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoxFuture`, `Future`, `finished`, and `future`
[INFO] [stdout]   --> src/db/messaging/proto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures::{future, Future, BoxFuture, finished};
[INFO] [stdout]    |               ^^^^^^  ^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decoder` and `Encoder`
[INFO] [stdout]   --> src/db/messaging/proto.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio_io::codec::{Decoder, Encoder, Framed};
[INFO] [stdout]    |                       ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpClient` and `TcpServer`
[INFO] [stdout]   --> src/db/messaging/proto.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio_proto::{TcpServer, TcpClient};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_service::Service`
[INFO] [stdout]   --> src/db/messaging/proto.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio_service::Service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Infinite`, `deserialize`, and `serialize`
[INFO] [stdout]   --> src/db/messaging/proto.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | use bincode::{serialize, deserialize, Infinite};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ReadBytesExt`, and `WriteBytesExt`
[INFO] [stdout]   --> src/db/messaging/proto.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | use byteorder::{BigEndian, WriteBytesExt, ReadBytesExt};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/db/messaging/mod.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Mutex, Arc};
[INFO] [stdout]   |                 ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/db/messaging/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]   --> src/db/messaging/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]   --> src/db/messaging/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]   --> src/db/messaging/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::io::Cursor; // used with byteorder
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufMut` and `BytesMut`
[INFO] [stdout]   --> src/db/messaging/mod.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bytes::{BytesMut, BufMut}; // needed for tokio
[INFO] [stdout]    |             ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]   --> src/db/messaging/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/db/messaging/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `future`
[INFO] [stdout]   --> src/db/messaging/mod.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use futures::{future, Future, BoxFuture, finished};
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientProto` and `ServerProto`
[INFO] [stdout]   --> src/db/messaging/mod.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio_proto::pipeline::{ServerProto, ClientProto};
[INFO] [stdout]    |                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decoder`, `Encoder`, and `Framed`
[INFO] [stdout]   --> src/db/messaging/mod.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio_io::codec::{Decoder, Encoder, Framed};
[INFO] [stdout]    |                       ^^^^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> src/db/messaging/mod.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio_io::{AsyncRead, AsyncWrite};
[INFO] [stdout]    |                ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Infinite`, `deserialize`, and `serialize`
[INFO] [stdout]   --> src/db/messaging/mod.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 | use bincode::{serialize, deserialize, Infinite};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ReadBytesExt`, and `WriteBytesExt`
[INFO] [stdout]   --> src/db/messaging/mod.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 | use byteorder::{BigEndian, WriteBytesExt, ReadBytesExt};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::client::Client`
[INFO] [stdout]   --> src/db/messaging/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use self::client::Client;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeState` and `StreamingState`
[INFO] [stdout]  --> src/db/tomahawk_server.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::node::{NodeState, StreamingState, Node};
[INFO] [stdout]   |                   ^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/db/gossip/gossip.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Mutex, Arc};
[INFO] [stdout]   |                 ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/db/gossip/gossip.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]  --> src/db/gossip/gossip.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/db/gossip/gossip.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `future`
[INFO] [stdout]   --> src/db/gossip/gossip.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures::{future, Future, BoxFuture, finished};
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WriteBytesExt`
[INFO] [stdout]   --> src/db/gossip/gossip.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 | use byteorder::{BigEndian, WriteBytesExt, ReadBytesExt};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Infinite`, `deserialize`, and `serialize`
[INFO] [stdout]  --> src/db/gossip/state.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bincode::{serialize, deserialize, Infinite};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeState`
[INFO] [stdout]  --> src/db/gossip/mod.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use self::state::{ClusterState, NodeState};
[INFO] [stdout]   |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/db/gossip/tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClusterState`, `GossipService`, and `Message`
[INFO] [stdout]  --> src/db/gossip/tests.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{GossipService, ClusterState, Message};
[INFO] [stdout]   |             ^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/db/messaging/codec.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Mutex, Arc};
[INFO] [stdout]   |                 ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/db/messaging/codec.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/db/messaging/codec.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]  --> src/db/messaging/codec.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/db/messaging/codec.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]   --> src/db/messaging/codec.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> src/db/messaging/codec.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/db/messaging/codec.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoxFuture`, `finished`, and `future`
[INFO] [stdout]   --> src/db/messaging/codec.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures::{future, Future, BoxFuture, finished};
[INFO] [stdout]    |               ^^^^^^          ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientProto` and `ServerProto`
[INFO] [stdout]   --> src/db/messaging/codec.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio_proto::pipeline::{ServerProto, ClientProto};
[INFO] [stdout]    |                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Framed`
[INFO] [stdout]   --> src/db/messaging/codec.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio_io::codec::{Decoder, Encoder, Framed};
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpClient` and `TcpServer`
[INFO] [stdout]   --> src/db/messaging/codec.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio_proto::{TcpServer, TcpClient};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> src/db/messaging/codec.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 | use tokio_io::{AsyncRead, AsyncWrite};
[INFO] [stdout]    |                ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_service::Service`
[INFO] [stdout]   --> src/db/messaging/codec.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio_service::Service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WriteBytesExt`
[INFO] [stdout]   --> src/db/messaging/codec.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 | use byteorder::{BigEndian, WriteBytesExt, ReadBytesExt};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/db/messaging/proto.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Mutex, Arc};
[INFO] [stdout]   |                 ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/db/messaging/proto.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/db/messaging/proto.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]  --> src/db/messaging/proto.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/db/messaging/proto.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]  --> src/db/messaging/proto.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::Cursor; // used with byteorder
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufMut` and `BytesMut`
[INFO] [stdout]  --> src/db/messaging/proto.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use bytes::{BytesMut, BufMut}; // needed for tokio
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]   --> src/db/messaging/proto.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> src/db/messaging/proto.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/db/messaging/proto.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoxFuture`, `Future`, `finished`, and `future`
[INFO] [stdout]   --> src/db/messaging/proto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures::{future, Future, BoxFuture, finished};
[INFO] [stdout]    |               ^^^^^^  ^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decoder` and `Encoder`
[INFO] [stdout]   --> src/db/messaging/proto.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio_io::codec::{Decoder, Encoder, Framed};
[INFO] [stdout]    |                       ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bytes::BytesMut::drain_to`: use split_to instead
[INFO] [stdout]   --> src/db/gossip/gossip.rs:42:39
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut tmp = Cursor::new(buf.drain_to(4));
[INFO] [stdout]    |                                       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bytes::BytesMut::drain_to`: use split_to instead
[INFO] [stdout]   --> src/db/gossip/gossip.rs:44:24
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let data = buf.drain_to(lenth as usize);
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bytes::BytesMut::drain_to`: use split_to instead
[INFO] [stdout]   --> src/db/messaging/codec.rs:39:39
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let mut tmp = Cursor::new(buf.drain_to(4));
[INFO] [stdout]    |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bytes::BytesMut::drain_to`: use split_to instead
[INFO] [stdout]   --> src/db/messaging/codec.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let data = buf.drain_to(lenth as usize);
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Future`
[INFO] [stdout]   --> src/db/messaging/codec.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures::{future, Future, BoxFuture, finished};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/db/gossip/gossip.rs:46:22
[INFO] [stdout]    |
[INFO] [stdout] 46 |             map_err(|x| io::Error::new(io::ErrorKind::Other, "Could not deserialize"))?;
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/db/gossip/gossip.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut len = data.len() as u32;
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/db/gossip/gossip.rs:59:18
[INFO] [stdout]    |
[INFO] [stdout] 59 |         map_err(|x| io::Error::new(io::ErrorKind::Other, "could not serialize") )?;
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/db/gossip/gossip.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let response = tmp.handle(req);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/db/gossip/gossip.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn new(address: SocketAddr) -> GossipClient {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tcp`
[INFO] [stdout]    --> src/db/gossip/gossip.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let tcp = TcpClient::new(GossipClientProto);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_tcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/db/gossip/state.rs:81:26
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn update(&mut self, node: Uuid, state: NodeState) -> GossipResult<()> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/db/gossip/state.rs:81:38
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn update(&mut self, node: Uuid, state: NodeState) -> GossipResult<()> {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/db/gossip/tests.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let result = state.handle(msg);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/db/messaging/codec.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |             map_err(|x| io::Error::new(io::ErrorKind::Other, "Could not deserialize"))?;
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/db/messaging/codec.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut len = data.len() as u32;
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/db/messaging/codec.rs:56:22
[INFO] [stdout]    |
[INFO] [stdout] 56 |             map_err(|x| io::Error::new(io::ErrorKind::Other, "could not serialize") )?;
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/db/messaging/mod.rs:64:20
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn call(&self, req: Self::Request) -> Self::Future {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> src/db/messaging/mod.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn new(address: SocketAddr) -> MessagingClient {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tcp`
[INFO] [stdout]   --> src/db/messaging/mod.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let tcp = TcpClient::new(MessagingClientProto);
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_tcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server`
[INFO] [stdout]   --> src/main.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let server = TomahawkServer::new();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/db/database.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Database {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 7 |     data: HashMap<ByteBuffer, ByteBuffer>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `database` and `nodes` are never read
[INFO] [stdout]  --> src/db/tomahawk_server.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TomahawkServer {
[INFO] [stdout]   |            -------------- fields in this struct
[INFO] [stdout] 7 |     database: Database,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 8 |     nodes: HashMap<u8, Node>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Up` and `Down` are never constructed
[INFO] [stdout]  --> src/db/node.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum NodeState {
[INFO] [stdout]   |          --------- variants in this enum
[INFO] [stdout] 4 |     Up,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 5 |     Down,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Joining` and `Normal` are never constructed
[INFO] [stdout]   --> src/db/node.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum StreamingState {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout]  9 |     Joining,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     Normal,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `address`, `state`, and `streaming_state` are never read
[INFO] [stdout]   --> src/db/node.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 14 |     address: Ipv4Addr,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 15 |     state: NodeState,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     streaming_state: StreamingState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GossipError` is never used
[INFO] [stdout]  --> src/db/gossip/mod.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | enum GossipError {
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `GossipResult` is never used
[INFO] [stdout]   --> src/db/gossip/mod.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type GossipResult<T> = Result<T, GossipError>;
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GossipClientProto` is never constructed
[INFO] [stdout]   --> src/db/gossip/gossip.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct GossipClientProto;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address` is never read
[INFO] [stdout]   --> src/db/gossip/gossip.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct GossipService {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 99 |     address: SocketAddr,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GossipClient` is never constructed
[INFO] [stdout]    --> src/db/gossip/gossip.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct GossipClient {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/db/gossip/gossip.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl GossipClient {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 154 |     fn new(address: SocketAddr) -> GossipClient {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]   --> src/db/gossip/state.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl ClusterState {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn update(&mut self, node: Uuid, state: NodeState) -> GossipResult<()> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessagingService` is never constructed
[INFO] [stdout]   --> src/db/messaging/mod.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct MessagingService {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `new_async` are never used
[INFO] [stdout]   --> src/db/messaging/mod.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl MessagingService {
[INFO] [stdout]    | --------------------- associated functions in this implementation
[INFO] [stdout] 42 |     pub fn new(port: usize)  {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn new_async(port: usize) -> thread::JoinHandle<()> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]   --> src/db/messaging/mod.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum Message {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessagingClient` is never constructed
[INFO] [stdout]   --> src/db/messaging/mod.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | struct MessagingClient {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/messaging/mod.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl MessagingClient {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 85 |     fn new(address: SocketAddr) -> MessagingClient {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessagingCodec` is never constructed
[INFO] [stdout]   --> src/db/messaging/codec.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct MessagingCodec;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessagingProto` is never constructed
[INFO] [stdout]   --> src/db/messaging/proto.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct MessagingProto;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessagingClientProto` is never constructed
[INFO] [stdout]   --> src/db/messaging/proto.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct MessagingClientProto;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Client` is never constructed
[INFO] [stdout]  --> src/db/messaging/client.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Client;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClientHandle` is never constructed
[INFO] [stdout]  --> src/db/messaging/client.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct ClientHandle {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClientPool` is never constructed
[INFO] [stdout]  --> src/db/messaging/client_pool.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct ClientPool {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpClient` and `TcpServer`
[INFO] [stdout]   --> src/db/messaging/proto.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio_proto::{TcpServer, TcpClient};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_service::Service`
[INFO] [stdout]   --> src/db/messaging/proto.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio_service::Service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Infinite`, `deserialize`, and `serialize`
[INFO] [stdout]   --> src/db/messaging/proto.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | use bincode::{serialize, deserialize, Infinite};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ReadBytesExt`, and `WriteBytesExt`
[INFO] [stdout]   --> src/db/messaging/proto.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | use byteorder::{BigEndian, WriteBytesExt, ReadBytesExt};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/db/messaging/mod.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Mutex, Arc};
[INFO] [stdout]   |                 ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/db/messaging/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]   --> src/db/messaging/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]   --> src/db/messaging/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]   --> src/db/messaging/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::io::Cursor; // used with byteorder
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufMut` and `BytesMut`
[INFO] [stdout]   --> src/db/messaging/mod.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bytes::{BytesMut, BufMut}; // needed for tokio
[INFO] [stdout]    |             ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]   --> src/db/messaging/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/db/messaging/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `future`
[INFO] [stdout]   --> src/db/messaging/mod.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use futures::{future, Future, BoxFuture, finished};
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientProto` and `ServerProto`
[INFO] [stdout]   --> src/db/messaging/mod.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio_proto::pipeline::{ServerProto, ClientProto};
[INFO] [stdout]    |                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decoder`, `Encoder`, and `Framed`
[INFO] [stdout]   --> src/db/messaging/mod.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio_io::codec::{Decoder, Encoder, Framed};
[INFO] [stdout]    |                       ^^^^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> src/db/messaging/mod.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio_io::{AsyncRead, AsyncWrite};
[INFO] [stdout]    |                ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Infinite`, `deserialize`, and `serialize`
[INFO] [stdout]   --> src/db/messaging/mod.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 | use bincode::{serialize, deserialize, Infinite};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ReadBytesExt`, and `WriteBytesExt`
[INFO] [stdout]   --> src/db/messaging/mod.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 | use byteorder::{BigEndian, WriteBytesExt, ReadBytesExt};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::client::Client`
[INFO] [stdout]   --> src/db/messaging/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use self::client::Client;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bytes::BytesMut::drain_to`: use split_to instead
[INFO] [stdout]   --> src/db/gossip/gossip.rs:42:39
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut tmp = Cursor::new(buf.drain_to(4));
[INFO] [stdout]    |                                       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bytes::BytesMut::drain_to`: use split_to instead
[INFO] [stdout]   --> src/db/gossip/gossip.rs:44:24
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let data = buf.drain_to(lenth as usize);
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/db/gossip/gossip.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Message` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Message`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/db/gossip/gossip.rs:135:28
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Message` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Message`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db/gossip/state.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Debug, PartialEq, Serialize, Deserialize, Hash, Eq, PartialOrd)]
[INFO] [stdout]   |                            ^^^^^^^^^
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            `ApplicationState` is not local
[INFO] [stdout]   |                            `Serialize` is not local
[INFO] [stdout]   |                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ApplicationState`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db/gossip/state.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Debug, PartialEq, Serialize, Deserialize, Hash, Eq, PartialOrd)]
[INFO] [stdout]   |                                       -^^^^^^^^^^
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       `ApplicationState` is not local
[INFO] [stdout]   |                                       `Deserialize` is not local
[INFO] [stdout]   |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ApplicationState`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/gossip/state.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `VersionedValue` is not local
[INFO] [stdout]    |                            `Serialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_VersionedValue`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/gossip/state.rs:21:39
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                       -^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `VersionedValue` is not local
[INFO] [stdout]    |                                       `Deserialize` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_VersionedValue`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/gossip/state.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `NodeState` is not local
[INFO] [stdout]    |                            `Serialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeState`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/gossip/state.rs:34:39
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                       -^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `NodeState` is not local
[INFO] [stdout]    |                                       `Deserialize` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NodeState`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/gossip/state.rs:56:28
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `ClusterState` is not local
[INFO] [stdout]    |                            `Serialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClusterState`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/gossip/state.rs:56:39
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                       -^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `ClusterState` is not local
[INFO] [stdout]    |                                       `Deserialize` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClusterState`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/messaging/mod.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 | #[derive(Debug, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Message` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/messaging/mod.rs:72:28
[INFO] [stdout]    |
[INFO] [stdout] 72 | #[derive(Debug, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Message` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bytes::BytesMut::drain_to`: use split_to instead
[INFO] [stdout]   --> src/db/messaging/codec.rs:39:39
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let mut tmp = Cursor::new(buf.drain_to(4));
[INFO] [stdout]    |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bytes::BytesMut::drain_to`: use split_to instead
[INFO] [stdout]   --> src/db/messaging/codec.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let data = buf.drain_to(lenth as usize);
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Future`
[INFO] [stdout]   --> src/db/messaging/codec.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures::{future, Future, BoxFuture, finished};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/db/gossip/gossip.rs:46:22
[INFO] [stdout]    |
[INFO] [stdout] 46 |             map_err(|x| io::Error::new(io::ErrorKind::Other, "Could not deserialize"))?;
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/db/gossip/gossip.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut len = data.len() as u32;
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/db/gossip/gossip.rs:59:18
[INFO] [stdout]    |
[INFO] [stdout] 59 |         map_err(|x| io::Error::new(io::ErrorKind::Other, "could not serialize") )?;
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/db/gossip/gossip.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let response = tmp.handle(req);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/db/gossip/gossip.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn new(address: SocketAddr) -> GossipClient {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tcp`
[INFO] [stdout]    --> src/db/gossip/gossip.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let tcp = TcpClient::new(GossipClientProto);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_tcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/db/gossip/state.rs:81:26
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn update(&mut self, node: Uuid, state: NodeState) -> GossipResult<()> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/db/gossip/state.rs:81:38
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn update(&mut self, node: Uuid, state: NodeState) -> GossipResult<()> {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/db/messaging/codec.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |             map_err(|x| io::Error::new(io::ErrorKind::Other, "Could not deserialize"))?;
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/db/messaging/codec.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut len = data.len() as u32;
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/db/messaging/codec.rs:56:22
[INFO] [stdout]    |
[INFO] [stdout] 56 |             map_err(|x| io::Error::new(io::ErrorKind::Other, "could not serialize") )?;
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/db/messaging/mod.rs:64:20
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn call(&self, req: Self::Request) -> Self::Future {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> src/db/messaging/mod.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn new(address: SocketAddr) -> MessagingClient {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tcp`
[INFO] [stdout]   --> src/db/messaging/mod.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let tcp = TcpClient::new(MessagingClientProto);
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_tcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server`
[INFO] [stdout]   --> src/main.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let server = TomahawkServer::new();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/db/database.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Database {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 7 |     data: HashMap<ByteBuffer, ByteBuffer>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `database` and `nodes` are never read
[INFO] [stdout]  --> src/db/tomahawk_server.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TomahawkServer {
[INFO] [stdout]   |            -------------- fields in this struct
[INFO] [stdout] 7 |     database: Database,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 8 |     nodes: HashMap<u8, Node>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Up` and `Down` are never constructed
[INFO] [stdout]  --> src/db/node.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum NodeState {
[INFO] [stdout]   |          --------- variants in this enum
[INFO] [stdout] 4 |     Up,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 5 |     Down,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Joining` and `Normal` are never constructed
[INFO] [stdout]   --> src/db/node.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum StreamingState {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout]  9 |     Joining,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     Normal,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `address`, `state`, and `streaming_state` are never read
[INFO] [stdout]   --> src/db/node.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 14 |     address: Ipv4Addr,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 15 |     state: NodeState,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     streaming_state: StreamingState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GossipError` is never used
[INFO] [stdout]  --> src/db/gossip/mod.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | enum GossipError {
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `GossipResult` is never used
[INFO] [stdout]   --> src/db/gossip/mod.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type GossipResult<T> = Result<T, GossipError>;
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GossipClientProto` is never constructed
[INFO] [stdout]   --> src/db/gossip/gossip.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct GossipClientProto;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address` is never read
[INFO] [stdout]   --> src/db/gossip/gossip.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct GossipService {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 99 |     address: SocketAddr,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_async` is never used
[INFO] [stdout]    --> src/db/gossip/gossip.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl GossipService {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn new_async(port: usize) -> thread::JoinHandle<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GossipClient` is never constructed
[INFO] [stdout]    --> src/db/gossip/gossip.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct GossipClient {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/db/gossip/gossip.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl GossipClient {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 154 |     fn new(address: SocketAddr) -> GossipClient {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `node_count` are never used
[INFO] [stdout]   --> src/db/gossip/state.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl ClusterState {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn update(&mut self, node: Uuid, state: NodeState) -> GossipResult<()> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn node_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessagingService` is never constructed
[INFO] [stdout]   --> src/db/messaging/mod.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct MessagingService {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `new_async` are never used
[INFO] [stdout]   --> src/db/messaging/mod.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl MessagingService {
[INFO] [stdout]    | --------------------- associated functions in this implementation
[INFO] [stdout] 42 |     pub fn new(port: usize)  {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn new_async(port: usize) -> thread::JoinHandle<()> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]   --> src/db/messaging/mod.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum Message {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessagingClient` is never constructed
[INFO] [stdout]   --> src/db/messaging/mod.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | struct MessagingClient {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/messaging/mod.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl MessagingClient {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 85 |     fn new(address: SocketAddr) -> MessagingClient {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessagingCodec` is never constructed
[INFO] [stdout]   --> src/db/messaging/codec.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct MessagingCodec;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessagingProto` is never constructed
[INFO] [stdout]   --> src/db/messaging/proto.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct MessagingProto;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessagingClientProto` is never constructed
[INFO] [stdout]   --> src/db/messaging/proto.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct MessagingClientProto;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Client` is never constructed
[INFO] [stdout]  --> src/db/messaging/client.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Client;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClientHandle` is never constructed
[INFO] [stdout]  --> src/db/messaging/client.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct ClientHandle {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClientPool` is never constructed
[INFO] [stdout]  --> src/db/messaging/client_pool.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct ClientPool {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/db/gossip/gossip.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Message` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Message`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/db/gossip/gossip.rs:135:28
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Message` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Message`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db/gossip/state.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Debug, PartialEq, Serialize, Deserialize, Hash, Eq, PartialOrd)]
[INFO] [stdout]   |                            ^^^^^^^^^
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            `ApplicationState` is not local
[INFO] [stdout]   |                            `Serialize` is not local
[INFO] [stdout]   |                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ApplicationState`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db/gossip/state.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Debug, PartialEq, Serialize, Deserialize, Hash, Eq, PartialOrd)]
[INFO] [stdout]   |                                       -^^^^^^^^^^
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       `ApplicationState` is not local
[INFO] [stdout]   |                                       `Deserialize` is not local
[INFO] [stdout]   |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ApplicationState`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/gossip/state.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `VersionedValue` is not local
[INFO] [stdout]    |                            `Serialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_VersionedValue`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/gossip/state.rs:21:39
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                       -^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `VersionedValue` is not local
[INFO] [stdout]    |                                       `Deserialize` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_VersionedValue`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/gossip/state.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `NodeState` is not local
[INFO] [stdout]    |                            `Serialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeState`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/gossip/state.rs:34:39
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                       -^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `NodeState` is not local
[INFO] [stdout]    |                                       `Deserialize` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NodeState`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/gossip/state.rs:56:28
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `ClusterState` is not local
[INFO] [stdout]    |                            `Serialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClusterState`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.30s
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/gossip/state.rs:56:39
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                       -^^^^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `ClusterState` is not local
[INFO] [stdout]    |                                       `Deserialize` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClusterState`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/messaging/mod.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 | #[derive(Debug, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Message` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db/messaging/mod.rs:72:28
[INFO] [stdout]    |
[INFO] [stdout] 72 | #[derive(Debug, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Message` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.8.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] running `Command { std: "docker" "inspect" "c528f2af633be47b2bbf789dd2d7799c41d30bb04802d71d11b985ccdc96b8f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c528f2af633be47b2bbf789dd2d7799c41d30bb04802d71d11b985ccdc96b8f5", kill_on_drop: false }`
[INFO] [stdout] c528f2af633be47b2bbf789dd2d7799c41d30bb04802d71d11b985ccdc96b8f5
